

package com.hazelcast.topic;

import com.hazelcast.instance.LocalInstanceStats;
import com.hazelcast.internal.monitor.MemberState;

/**
 * Local topic statistics to be used by {@link MemberState} implementations.
 */
public interface LocalTopicStats extends LocalInstanceStats {

    /**
     * Returns the creation time of this topic on this member
     *
     * @return creation time of this topic on this member
     */
    @Override
    long getCreationTime();

    /**
     * Returns the total number of published messages of this topic on this member
     *
     * @return total number of published messages of this topic on this member
     */
    long getPublishOperationCount();

    /**
     * Returns the total number of received messages of this topic on this member
     *
     * @return total number of received messages of this topic on this member
     */
    long getReceiveOperationCount();
}
